// Funzione che determina in un insieme di punti // il valore del polinomio interpolante ottenuto // dalla formula di Lagrange. // // function [y] = int_lag(xnodi,fnodi,x) // // Dati di input: // // xnodi vettore con i nodi dell'interpolazione // fnodi vettore con i valori nei nodi // x vettore con i punti in cui si vuole // calcolare il valore del polinomio // interpolante // Dati di output: // y vettore contenente i valori assunti // dal polinomio interpolante // function [y] = int_lag(xnodi,fnodi,x) n =length(xnodi); m = length(x); for i=1:n ind = [1:i-1,i+1:n]; den(i) = prod(xnodi(i)-xnodi(ind)); end for k=1:m y(k) = 0; for i=1:n ind = [1:i-1,i+1:n]; phi = prod( x(k) - xnodi(ind) )/den(i); y(k) = y(k) + fnodi(i) * phi; end end